#ifndef DEFINES_INC
#define DEFINES_INC

#include <vector>
#include <string>
#include <iostream>
#include <fstream>
#include <cstdlib>
#include <cstring>

#include <thrust/host_vector.h>
#include <thrust/device_vector.h>
#include <curand_kernel.h>

using thrust::host_vector;
using thrust::device_vector;
using thrust::device_ptr;

using namespace std;

struct WordPair;

/*-----------------------------------------------------------------------------
 *  Defines de tipos
 *-----------------------------------------------------------------------------*/
typedef unsigned int uint;
typedef unsigned long ulong;

/*-----------------------------------------------------------------------------
 *  Defines de host e device vector
 *-----------------------------------------------------------------------------*/
typedef device_vector<WordPair> DevWordPair;
typedef device_vector<uint> DevProb;
typedef device_vector<curandState> DevState;
typedef device_vector<uint> DevHits;

typedef host_vector<WordPair> HostWordPair;
typedef host_vector<uint> HostProb;
typedef host_vector<curandState> HostState;
typedef host_vector<uint> HostHits;

#endif /* ----- #ifndef DEFINES_INC  ----- */
